﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Rappelz.GameServer
{
    public class ScriptRegion
    {
        public float left;
        public float top;
        public float right;
        public float bottom;
        public string strName;
//     Function       :   public void ScriptRegion::ScriptRegion(const struct ScriptRegion &)
//     Function       :   public void ScriptRegion::ScriptRegion(int, int, int, int, const char *)
// 
//     Function       :   public void ScriptRegion::~ScriptRegion()
//     Function       :   public struct ScriptRegion & ScriptRegion::operator=(const struct ScriptRegion &)
//     Function       :   public void * __vecDelDtor(unsigned int)
    }

    public class ScriptRegionInfo
    {
// Function       :   public void ScriptRegionInfo::ScriptRegionInfo(const struct ScriptRegionInfo &)
// Function       :   public void ScriptRegionInfo()
// Function       :   public void ScriptRegionInfo::~ScriptRegionInfo()
// Function       :   public struct ScriptRegionInfo & ScriptRegionInfo::operator=(const struct ScriptRegionInfo &)
// Function       :   public void * __vecDelDtor(unsigned int)
        public int nRegionIndex;
        public List<ScriptTag> vInfoList = new List<ScriptTag>();

    }

    public class ScriptFunction
    {
        public int m_Trigger;
        public string m_strFuncName;
    }

    public class NfsHeader
    {
        public string szSign;//Data           :   this+0x0, Member, Type: char[0x10], szSign
        public uint dwVersion;
        public uint dwEventLocationOffset;
        public uint dwEventScriptOffset;
        public uint dwPropScriptOffset;
    }

    public class PropContactScriptInfo
    {
        public class FunctionList
        {
            public int trigger_id;
            public string stdFunction;
            // Function       :     public void _PROP_CONTACT_SCRIPT_INFO::_FUNCTION_LIST::_FUNCTION_LIST(const struct _PROP_CONTACT_SCRIPT_INFO::_FUNCTION_LIST &)
            // Function       :     public void _FUNCTION_LIST()
            // Function       :     public void _PROP_CONTACT_SCRIPT_INFO::_FUNCTION_LIST::~_FUNCTION_LIST()
            // Function       :     public struct _PROP_CONTACT_SCRIPT_INFO::_FUNCTION_LIST & _PROP_CONTACT_SCRIPT_INFO::_FUNCTION_LIST::operator=(const struct _PROP_CONTACT_SCRIPT_INFO::_FUNCTION_LIST &)
            // Function       :     public void * __vecDelDtor(unsigned int)
        }


// UserDefinedType: _PROP_CONTACT_SCRIPT_INFO
// Enum           :   <unnamed-tag>, Type: int
// Data           :     constant 0x0, Constant, Type: int, NPC
// Data           :     constant 0x1, Constant, Type: int, PROP
        public int prop_id;                     // 0
        public float x;                         // 4
        public float y;                         // 8
        public int prop_type;                   // 0xC
        public int model_info;                  // 0x10
        public List<FunctionList> vFunctionList = new List<FunctionList>();    // 0x14
// 
// Function       :   public void _PROP_CONTACT_SCRIPT_INFO::_PROP_CONTACT_SCRIPT_INFO(const struct _PROP_CONTACT_SCRIPT_INFO &)
// Function       :   public void _PROP_CONTACT_SCRIPT_INFO()
// Function       :   public void _PROP_CONTACT_SCRIPT_INFO::~_PROP_CONTACT_SCRIPT_INFO()
// Function       :   public struct _PROP_CONTACT_SCRIPT_INFO & _PROP_CONTACT_SCRIPT_INFO::operator=(const struct _PROP_CONTACT_SCRIPT_INFO &)
// Function       :   public void * __vecDelDtor(unsigned int)

    }

}
